package JAVA1114;

public class Eight {
    public static void eatFood(Animal a){
        a.eat();
    }
    public static Animal buyAnimal(String var){
        if("狗".equals(var)){
            return new Dog("狗狗",2);
        }else if("猫".equals(var)){
            return new Cat("猫猫",1);
        }else{
            return null;
        }
    }

    public static void main(String[] args) {
        Animal cat = new Cat("元宝",2);
        Dog dog = new Dog("小七",1);

        eatFood(cat);
        eatFood(dog);

        Animal animal = buyAnimal("狗");
        animal.eat();
        animal = buyAnimal("猫");
        animal.eat();
    }
}
//1,eatFood方法：这是一个静态方法，接受一个Animal类型的参数a。这个方法调用传入的Animal对象
// 的eat方法。这意味着任何实现了Animal接口或继承自Animal类的对象都可以作为参数传递给这个方法。
//2,buyAnimal方法：这个静态方法接受一个字符串参数var，并根据这个参数返回一个Animal对象。
// 如果var是"狗"，则返回一个新的Dog对象；如果var是"猫"，则返回一个新的Cat对象；否则返回null。
//3,main方法：这是程序的入口点。在main方法中，首先创建了两个Animal对象：一个Cat对象和一个Dog对象。
// 然后，这两个对象分别作为参数传递给eatFood方法，调用它们的eat方法。
//4,接着，main方法通过buyAnimal方法购买了一个"狗"和一个"猫"，
// 并将返回的Animal对象存储在animal变量中。然后，分别调用这两个动物的eat方法。
